Method and apparatus for providing a graphical user interface for a player/recorder system

ABSTRACT

Graphical user interface methods are described. In a player/recorder system, a graphical user interface method allows central control of one or more tracks of a plurality of audio processing modules. The plurality of audio processing modules are connected to a computer system having a processor and a display. The method includes the steps of generating a first display portion on the display by the processor, the first display portion including one or more control boxes to control a corresponding one or more tracks of the plurality of audio processing modules and generating a second display portion on the display by the processor, the second display including a central control mechanism for controlling all of the one or more tracks of the audio processing modules.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates generally to graphical user interfaces, and specifically, to a method and apparatus for providing a graphical user interface to centrally and/or simultaneously control one or more tracks of one or more audio processing modules in a player/recorder system.

[0003] 2. Background Information

[0004] A typical film player/recorder system includes a plurality of audio modules for providing audio tracks required to play and/or record the numerous audio sounds that are in a film. Each audio module supports up to a limited number of tracks so that typically more than one audio module is needed. Moreover, each audio module includes a front panel which has various control buttons such as play, record, mute, volume control, etc., for each track. However, the problem with the audio modules is that if a command (e.g., record) is to be issued to a particular track of a particular audio module, a user must physically move to that particular module to perform the command. This may be undesirable when there are a number of such modules, especially when they are dispersed.

[0005] Accordingly, it is desirable to have a method and apparatus for a graphical user interface to centrally and/or simultaneously control one or more tracks of one or more audio modules.

SUMMARY OF THE INVENTION

[0006] Graphical user interface methods are described. In a player/recorder system, a graphical user interface method allows central control of one or more tracks of a plurality of audio processing modules. The plurality of audio processing modules are connected to a computer system having a processor and a display. The method includes the steps of generating a first display portion on the display by the processor, the first display portion including one or more control boxes to control a corresponding one or more tracks of the plurality of audio processing modules and generating a second display portion on the display by the processor, the second display including a central control mechanism for controlling all of the one or more tracks of the audio processing modules.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which:

[0008]FIG. 1 is a block diagram illustrating an exemplary system for implementing the present invention.

[0009]FIG. 2 is a block diagram illustrating one embodiment of an EBX of the present invention.

[0010]FIG. 3 is a block diagram illustrating an exemplary software architecture of the present invention.

[0011]FIG. 4 illustrates an exemplary embodiment of a graphical user interface of the present invention.

[0012]FIG. 5 illustrates an alternative exemplary embodiment of a graphical user interface of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0013] In the following description, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. In other instances, well known electrical structures and circuits are shown in block diagram form in order not to obscure the present invention unnecessarily.

[0014]FIG. 1 is a block diagram illustrating an exemplary system 100 for implementing the present invention. Referring to FIG. 1, the system 100 is an audio player/recorder system and comprises a plurality of embedded boxes (“EBXs”) 110 ₁-110 _(N) (“N” being a whole positive number), a remote client computer (“RCC”) 120, a network channel 115, audio electronic standard (“AES”) input/output channels 125, and a synchronizing clock 130.

[0015] Each of the EBXs 110 ₁-110 _(N) is an audio signal processing system with mass storage. In particular, each EBX includes a personal computer (“PC”) system and one or more digital signal processors (“DSPs”). Audio sampled data are stored in multiple dynamic random access memory (“DRAM”) banks. These DRAM banks are accessible to both the host processor of the PC and the DSPs. Each EBX can control up to X AES I/O channels, where X is a positive whole number greater than zero. In one embodiment, each EBX controls sixteen AES I/O channels. The synchronizing clock 130 provides a master timing signal to synchronize all real-time activities of EBXs 110 ₁-110 _(N). The details of the EBX architecture will be discussed later.

[0016] The RCC 120 provides a graphical user interface (“GUI”) for transmitting centralized commands (also referred to as control information) to one or more of the plurality of EBXs 110 ₁-110 _(N) over the network channel 115. The RCC 120 has two modes of communication to the EBXs, namely, individual addressing and broadcasting. In individual addressing, the RCC 120 issues a command to a specified EBX (or a specified I/O channel of the specified EBX). The individual address of the destination is encoded as part of the command. In broadcasting, a command is issued to all the EBXs connected to the system 100. This allows centralized and simultaneous control of all I/O channels (also referred to as tracks) of the EBXs. In one embodiment, the RCC is a computer system (e.g., desktop, laptop, palmtop, etc.) that has, among other things, memory for storing the GUI, a processor for executing the GUI, a display for displaying the GUI, and input/output means for transmitting and/or receiving commands over the network channel 115.

[0017]FIG. 2 is a block diagram illustrating one embodiment of an EBX 110 of the present invention. Referring to FIG. 2, the EBX 110 comprises one or more processors 205 ₁ 205 _(M) (“M” being a positive whole number) and a main memory element 230 (e.g., dynamic random access memory “DRAM”, static random access memory “SRAM”, etc.) coupled together by a chipset 220. The chipset 220 is coupled to a host bus 210 and operates as an interface between the host bus 210 and a peripheral bus 235.

[0018] Processors 205 ₁ 205 _(M) may be any type of microprocessors. In one embodiment, processors 205 ₁ 205 _(M) are the Pentium® or Pentium Pro® microprocessors manufactured by Intel Corporation of Santa Clara, Calif. Chipset 220 typically includes a cache DRAM controller (“CDC”), a peripheral bus controller, and a data path unit (“DPU”). In one embodiment, chipset 220 further includes a Peripheral Component Interconnect (“PCI”) bus Bridge that provides a set of host-to-PCI and PCI-to-host bus translations.

[0019] The host bus 210 is a bus that can support transactions to a number of connected processors. Host bus 210 may be referred to as a parallel bus or multiprocessor bus because it supports parallel operations and multiple processors. It is contemplated that host bus 210 operates in a pipelined manner to increase efficiency. However, these features should not be construed to limit the teachings of the present invention. The present invention can be utilized if there is only one processor connected to the host bus 210.

[0020] The peripheral bus 235 provides a communication path between the processors 205 ₁-205 _(M) or main memory element 230 and a plurality of peripheral devices 250 ₁-250 _(P) (“P” being a positive whole number). Peripheral device 250 ₁ is a small computer system interface (“SCSI”) controller that provides an interface to an optical read/write drive 252, a hard drive 254, etc. The hard drive 254 may contain audio sounds to be played on one or more of the I/O channels 125 or may store audio sounds coming in on one or more of the I/O channels. In addition, peripheral device 250 ₂ is a network interface card for interfacing with the network channel 115 of FIG. 1. Other peripheral devices may include I/O devices such as a data entry interface circuit, a pointing device controller, and a graphics controller. The peripheral bus 235 may be a PCI bus or any other type of bus architecture.

[0021] EBX 110 further comprises a signal processing subsystem (“SPS”) 270 which includes one or more digital signal processors (“DSPs”), multiple DRAM banks, and a PCI bus interface circuits. The SPS 270 interfaces to a serial input/output communication device 272 which is connected to an AES I/O channel interface 274. The SPS 270 performs dedicated signal processing tasks including accessing audio data from multiple memory banks, digital filtering of the audio data, and interfacing to other subsystems. The SPS 270 further includes an efficient memory access switching mechanism.

[0022] A peripheral/expansion bus bridge 240 provides a communication path between the peripheral bus 235 and a plurality of expansion peripheral devices 260 ₁-260 _(K) (“K” being a positive whole number) on an expansion bus 255. The expansion bus 255 may include an Industry Standard Architecture (“ISA”) bus or an Extended Industry Standard Architecture (“EISA”) bus. However, it is apparent to one skilled in the art that the specific architecture of the EBX 110 is not critical in practicing the present invention.

[0023]FIG. 3 is a block diagram illustrating an exemplary software architecture of the present invention. RCC 120 is coupled to one or more EBXs 110 ₁-110 _(N) through network channel 115. RCC 120 may run on various platforms such as Windows NT, Windows 95, Macintosh, etc. Referring to FIG. 3, RCC 120 has a plurality of player/recorder applications 302 (e.g., GUI of FIG. 4) coupled to a dynamic link library (“DLL”) 304. A DLL is a file containing executable code and data which is bound to a program at load time or run time rather than during linking. It is to be noted that the code and data in the DLL 304 can be shared by the plurality of player/recorder applications simultaneously (assuming that the applications are running on the same CPU). The RCC 120 uses a remote procedure call (“RPC”) 306 mechanism for transferring commands between the RCC 120 and one or more of the EBXs 110 ₁-110 _(N) by way of network channel 115. Commands may be directed to a specific EBX or may be broadcast to all EBXs.

[0024] Each EBX includes an RPC module 312, a DLL 314, a device driver 316, and a SCSI driver 318. The device driver 316 acts as an interface between the DLL 314 and a DSP software 320 via a bus (e.g., PCI bus 235 of FIG. 2). The DLL 314 and the SCSI driver 318 are controlled by the host processor (i.e., processor 205 of FIG. 2). The DLL 314 receives remote commands from the RCC 120 (e.g., such as a global play command, a record command for a specific track, etc.), processes the commands, and forwards them to the DSP software 320 via device driver 316 for execution.

[0025]FIG. 4 illustrates an exemplary embodiment of a graphical user interface 400 of the present invention. Referring to FIG. 4, the GUI 400 comprises a first display portion 410 and a second display portion 440. The first display portion 410 includes one or more control boxes 411 corresponding to the AES I/O channels (i.e., tracks) of the one or more EBXs 110 ₁-110 _(N) that are connected to (or loaded in) the system. Each control box 411 includes (i) a machine ID box 412 which specifics the track (i.e., I/O channel) of the EBX that is under control; (ii) a track name box 414 which specifies the name of the track that is under control (e.g., dialog track); (iii) “sRISM” buttons 416, 418, 420, 422, and 422 which correspond to “safety”, “Record”, “Input Monitor”, “Solo”, and “Mute” buttons, respectively, for the track under control; (iv) a gain box 426 to control the volume of the track; and (v) an offset box 428 to offset a track with respect to time. By selecting or “clicking” one or more of the “sRISM” buttons, varying the gain, or changing the offset of a track of an EBX, the command selected is transferred over the network channel to the EBX to perform the command selected on the track. During playing of all loaded tracks in the system, if the “Solo” button 422 for one or more tracks is selected or “clicked”, all other loaded tracks in the system are muted except for the one or more tracks that have the “Solo” button selected or “clicked”.

[0026] The first display portion 410 includes a scroll bar 430 to horizontally scroll (or vertically scroll) the first display portion 410. The scroll bar 430 provides access to the control boxes 411 of the numerous tracks (e.g., 300 or more) that may be loaded in the system and that may not all fit on the screen at the same time. The first display portion 410 further includes one or more selection buttons 432 (eight buttons are shown in FIG. 4). This feature allows the function of one or more tracks to be assigned to a selection button and when selected, the function of the one or more tracks is performed. For example, a selection button 430 may be assigned to “mute” certain tracks after the tracks start playing. An offset time box 434 is provided which displays the offset time of the track selected. An adjustment mechanism 436 allows various adjustments to be made to the offset time of the selected track. A commit button 438 allows the offset time to be reset to zero.

[0027] The present invention includes a mechanism which provides control of all tracks (e.g., 16) of an EBX with a single control box 411. That is, all control boxes corresponding to all tracks of an EBX may be collapsed into a single control box 411 by selecting a menu item from the GUI 400. The single control box will then control all tracks of the EBX selected. Thus, if a record button is selected, all the tracks for that particular EBX will start recording. This mechanism is useful in situations where all tracks of an EBX are controlled in the same manner.

[0028] The second display portion 440 comprises a centralized control mechanism 442 which includes a forward play button 444 and a reverse play button 446, a fast forward play button 448 and a fast reverse play button 450, a stop button 452, and a record button 454. Centralized control mechanism 442 allow centralized and simultaneous control of all currently loaded tracks. The second display portion 440 further includes time box 456 which displays the current time of all the tracks, a reset button 458 for resetting the current time to zero, a restore button 460 for restoring the current time (before it was reset), a toggle box 462 for toggling between the two times, and a time scroll bar 464 for providing quick adjustment of the current time. The time box 456 conforms to a number of time formats such as, but not limited or restricted to, a Society of Motion Picture and Television Engineers (“SMPTE”), a Musical Instrument Digital Interface (“MIDI”), or a footage frame time format. The time in the time box 456 is typically synchronized to an external time source (e.g., a video deck, projector, etc.).

[0029] In addition, the second display portion 440 includes a save in time box 466, a save out time box 468, a pull down menu 470 of saved times, a save in button 472, and a save both button 474. The save in and save out time boxes 466 and 468 allow a user to enter (for saving) the start and stop times (i.e., a range of time) and to save the start and stop times in the pull down menu 470 for later retrieval. The start time is saved by selecting or “clicking” the save in button 472 and both the start and stop times are saved by selecting or “clicking” the save both button 474. The user can then retrieve the range of time saved and perform one or more operations during the range of time such as recording on a particular track.

[0030]FIG. 5 illustrates an alternative exemplary embodiment of a graphical user interface 500 of the present invention. Referring to FIG. 5, the GUI 500 includes a first display portion 510, a second display portion 520, and a third display portion 530. The first display portion 510 displays and controls all recorder tracks that are loaded, the second display portion 520 displays and controls all player tracks that are loaded, and the third display portion 530 is the central control of all the loaded tracks. The difference between a recorder track and a player track is that a record operation cannot be performed on a player track. Grouping the recorder and player tracks on separate display portions provides a simple way to distinguish one track type from another.

[0031] Referring back to FIGS. 1-4, when the play button 444 is selected, the GUI 400 (i.e., a player/recorder application 302 of FIG. 3) transmits (broadcast) a play command by way of the RPC 306 to all loaded EBXs over the network channel 115. Each EBX receives the play command by its RPC 312 and forwards the command to the DSP software 320 by way of interface device driver 316. The DSP software 320 receives the play command and causes the SPS 270 to play all the tracks. The processor 205 controls the SCSI card 250 ₁ by directing it to load data to and from the memory on the DSP of the SPS 270. In addition, if the front panel 322 includes light emitting diodes (“LEDs”) for play, then the LED is turned on by code in a DLL on the EBX. It must be noted that when, for example, a record button (of a track) on a front panel 322 is manually depressed, the GUI 400 is also updated to reflect that the track is recording.

[0032] With the GUI of the present invention, centralized and/or simultaneous control of all tracks of the EBXs is achieved. That is, each track may be individually controlled by way of the first display portion 410 of the GUI 400 or all tracks may be simultaneously controlled by way of the second display portion 440 of the GUI 400.

[0033] Although the present invention has been described in terms of a preferred embodiment, it will be appreciated that various modifications might be made by those skilled in the art without departing from the spirit and scope of the present invention. 

What is claimed is:
 1. In a player/recorder system having a plurality of audio processing modules each having one or more tracks and each connected to a computer system having a processor and a display, a graphical user interface method of centrally controlling each of the one or more tracks of the plurality of audio processing modules, the method comprising the steps of: generating a first display portion on the display by the processor, the first display portion including one or more control boxes to control a corresponding one or more tracks of the plurality of audio processing modules; and generating a second display portion on the display by the processor, the second display including a central control mechanism for controlling all of the one or more tracks of the plurality of audio processing modules.
 2. The method of claim 1 further including the steps of: selecting one of the control boxes corresponding to one of the tracks; transmitting a control command associated with the one of the control boxes from the computer system to an audio processing module having the one of the tracks; and performing a function assigned to the control command by the audio processing module.
 3. The method of claim 1 further including the steps of: selecting a record button of a specific track; transmitting a record command from the computer system to an audio processing module having the specific tracks; and causing the specific track to record an audio sound by the audio processing module.
 4. The method of claim 1 further including the steps of: selecting the central control mechanism; transmitting a global control command associated with the central control mechanism from the computer system to the plurality of audio processing modules; and each audio processing module, performing a function assigned to the global control command by the audio processing module.
 5. The method of claim 1 wherein the step of generating a second display portion includes the step of said second display portion, including a global play command for controlling the one or more tracks of the audio processing modules.
 6. The method of claim 5 further including the steps of: selecting the global play command; transmitting the global play command from the computer system to the plurality of audio processing modules; and each audio processing module, causing all the tracks to each play an audio sound by the audio processing module.
 7. The method of claim 1 wherein the step of generating a second display portion includes the step of said second display portion, including a global stop command for controlling the one or more tracks of the audio processing modules.
 8. In a player/recorder system having a plurality of audio processing modules each having one or more input/output (“I/O”) channels and each connected to a computer system having a processor and a display, a graphical user interface method of centrally controlling each of the one or more I/O channels of the plurality of audio processing modules, the method comprising the steps of: generating a first display portion, the first display portion including one or more control boxes to control a corresponding one or more I/O channels of the plurality of audio processing modules; displaying the first display portion by the processor on the display for control by a user; selecting a control command on a specified control box by the user; transmitting the control command from the computer system to the audio processing module having the I/O channel corresponding to the specified control box; and performing a task assigned to the control command by the audio processing module with respect to the I/O channel.
 9. In a player/recorder system having a plurality of audio processing modules each having one or more input/output (“I/O”) channels and each connected to a computer system having a processor and a display, a graphical user interface method of centrally controlling all of the one or more I/O channels of the plurality of audio processing modules, the method comprising the steps of: generating a display portion, the display portion including a central control mechanism to control all of the one or more I/O channels of the plurality of audio processing modules; displaying the display portion by the processor on the display for control by a user; selecting the central control mechanism; transmitting a global control command associated with the central control mechanism from the computer system to the plurality of audio processing modules; and each audio processing module, causing all the I/O channels to perform a task assigned to the global control command.
 10. An apparatus for controlling a plurality of audio processing modules in a player/recorder system, each of the plurality of audio processing modules having one or more input/output (“I/O”) channels, the apparatus comprising: a processor; and a display including a first display portion produced by the processor, the first display portion including one or more control boxes to control corresponding I/O channels of the plurality of audio processing modules, and a second display portion produced by the processor, the second display portion including a central control mechanism to control all of the one or more I/O channels of the plurality of audio processing modules.
 11. The apparatus of claim 10 further comprising a selection device to select one of the control boxes corresponding to one of the I/O channels of the plurality of audio processing modules.
 12. The apparatus of claim 11 wherein the selection device is a keyboard.
 13. The apparatus of claim 11 wherein the selection device is a mouse.
 14. The apparatus of claim 11 further comprising an I/O device to transmit a control command associated with the one of the control boxes selected by the selection device to an audio processing module having the one of the I/O channels.
 15. The apparatus of claim 14 further comprising an audio processing module to receive the control command and perform a function assigned to the control command.
 16. The apparatus of claim 10 further comprising a selection device to select the central control mechanism.
 17. The apparatus of claim 16 further comprising an I/O device to transmit a global control command associated with the central control mechanism to the plurality of audio processing modules.
 18. The apparatus of claim 17 further comprising a plurality of audio processing modules, each of which is to receive the global control command and perform a function assigned to the control command with respect to all of the I/O channels. 